# Лабораторная работа по Теории Информации и Кодирования.
![Python](https://img.shields.io/badge/python-3670A0?style=for-the-badge&logo=python&logoColor=ffdd54)
[![Telegram](https://img.shields.io/badge/Telegram-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/funny_m4n)
***
- Модель источника двоичных сообщений {messageSource.py}.
- Модель кодера помехоустойчивого кода Хэмминга (7, 4) {hammingCode.py encode}.
- Модель дискретного канала с независимыми ошибками {discreteChannel.py}.
- Модель декодера помехоустойчивого кода Хэмминга (7, 4) {hammingCode.py decode}.
- Статистическое моделирование .Обработка результатов моделирования {model.py}.
***
### Пример моделирования.
![](/img/output.png)

``Введите количество битов: N:int``

Вводится количество бит для каждой итерации моделирования (любое, округлится в большую сторону).

``Введите вероятности ошибки и количество итераций через пробел: f0:float f1:float1 ... fJ:float N:int``

Вводится вероятность ошибки в канале от 0 до 1 включительно. 
Последним числом N вводится количество итераций для каждой ошибки (каждая ошибка повторится N итерация 
повышения точности расчетов).

``Введите вероятность появления нуля: F:float``

Вводится вероятность появления нуля на генераторе от 0 до 1 включительно
(вероятность единицы соответственно 1 - [вероятность нуля]).